1. Field of the Invention
The present invention relates to a theoretical model or framework for representing a unification of the semantics of sequential programming languages, i.e., sequential procedural and sequential object oriented programming languages (OOPL), independent of their syntax.
2. Description of Related Art
Type Theory of Programming Languages has been the target of focus as the basis for unification of programming languages. Based on this Type Theory, Microsoft has developed an intermediate language called Typed Intermediate Language (TIL) for their net framework. TIL is a stack-based assembly language and a wrapper for Intel's assembly. It is based on a stack execution model and looks alien to a high-level language programmer. The purpose of TIL is to create a common execution model capable of supporting language interoperability. It has Classes directly built in (thus support for OO) at the Assembly Level. It is desirable, however, to unify programming languages at the level of their Definition and Semantics rather than being tied to the memory execution model of any particular platform. This offers the advantage to customers of converting their applications of any particular platform. This offers the advantage to customers of converting their applications from legacy programming languages to contemporary ones independent of the platform of execution.
The same inventors and assignee of the present invention developed an earlier or predecessor to the present inventive framework referred to as Typed DGC Classes based on: (i) the Theory of Computability; (ii) Axiomatic Semantics of Programming Languages; and (iii) Type Theory of Programming Languages. The Typed DGC Classes were designed to unify programming languages at the level of their Source Language Definition and Semantics however, this framework was only suitable for imperative procedural languages, e.g., C, Pascal and Cobol, and did not have the capability of handling Pointers, Modules, Structures, Classes, and Objects.
It is therefore desirable to develop an improved model or framework to capture the semantics of programming languages that is independent of the syntax of any programming language, independent of the execution platform, and suitable for sequential programming languages (both sequential procedural and sequential object oriented programming languages).